# REQUIRES: aarch64, x86
# RUN: llvm-mc -filetype=obj -triple=x86_64 /dev/null -o %t.o
# RUN: ld.lld %t.o -T %s -o %t
# RUN: llvm-nm %t | FileCheck %s

## AArch64 needs thunks and has different address finalization process, so test
## it as well.
# RUN: llvm-mc -filetype=obj -triple=aarch64 /dev/null -o %t.o
# RUN: ld.lld %t.o -T %s -o %t
# RUN: llvm-nm %t | FileCheck %s

# CHECK: 0000000000001004 T a
# CHECK: 0000000000001003 T b
# CHECK: 0000000000001002 T c
# CHECK: 0000000000001001 T d
# CHECK: 0000000000001000 T e

SECTIONS {
  . = 0x1000;
  a = b + 1;
  b = c + 1;
  c = d + 1;
  d = e + 1;
  e = .;
}
